<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- 
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License. 
-->
<html>
<head>
    <link type="text/css" rel="stylesheet" href="https://struts.apache.org/css/default.css">
    <style type="text/css">
        .dp-highlighter {
            width:95% !important;
        }
    </style>
    <style type="text/css">
        .footer {
            background-image:      url('https://cwiki.apache.org/confluence/images/border/border_bottom.gif');
            background-repeat:     repeat-x;
            background-position:   left top;
            padding-top:           4px;
            color:                 #666;
        }
    </style>
    <link href='https://struts.apache.org/highlighter/style/shCoreStruts.css' rel='stylesheet' type='text/css' />
    <link href='https://struts.apache.org/highlighter/style/shThemeStruts.css' rel='stylesheet' type='text/css' />
    <script src='https://struts.apache.org/highlighter/js/shCore.js' type='text/javascript'></script>
    <script src='https://struts.apache.org/highlighter/js/shBrushPlain.js' type='text/javascript'></script>
    <script src='https://struts.apache.org/highlighter/js/shBrushXml.js' type='text/javascript'></script>
    <script src='https://struts.apache.org/highlighter/js/shBrushJava.js' type='text/javascript'></script>
    <script src='https://struts.apache.org/highlighter/js/shBrushJScript.js' type='text/javascript'></script>
    <script src='https://struts.apache.org/highlighter/js/shBrushGroovy.js' type='text/javascript'></script>
    <script src='https://struts.apache.org/highlighter/js/shBrushBash.js' type='text/javascript'></script>
    <script type="text/javascript">
        SyntaxHighlighter.defaults['toolbar'] = false;
        SyntaxHighlighter.all();
    </script>
    <script type="text/javascript" language="javascript">
        var hide = null;
        var show = null;
        var children = null;

        function init() {
            /* Search form initialization */
            var form = document.forms['search'];
            if (form != null) {
                form.elements['domains'].value = location.hostname;
                form.elements['sitesearch'].value = location.hostname;
            }

            /* Children initialization */
            hide = document.getElementById('hide');
            show = document.getElementById('show');
            children = document.all != null ?
                    document.all['children'] :
                    document.getElementById('children');
            if (children != null) {
                children.style.display = 'none';
                show.style.display = 'inline';
                hide.style.display = 'none';
            }
        }

        function showChildren() {
            children.style.display = 'block';
            show.style.display = 'none';
            hide.style.display = 'inline';
        }

        function hideChildren() {
            children.style.display = 'none';
            show.style.display = 'inline';
            hide.style.display = 'none';
        }
    </script>
    <title>Release Notes 2.0.2</title>
</head>
<body onload="init()">
<table border="0" cellpadding="2" cellspacing="0" width="100%">
    <tr class="topBar">
        <td align="left" valign="middle" class="topBarDiv" align="left" nowrap>
            &nbsp;<a href="home.html">Home</a>&nbsp;&gt;&nbsp;<a href="guides.html">Guides</a>&nbsp;&gt;&nbsp;<a href="migration-guide.html">Migration Guide</a>&nbsp;&gt;&nbsp;<a href="release-notes-202.html">Release Notes 2.0.2</a>
        </td>
        <td align="right" valign="middle" nowrap>
            <form name="search" action="https://www.google.com/search" method="get">
                <input type="hidden" name="ie" value="UTF-8" />
                <input type="hidden" name="oe" value="UTF-8" />
                <input type="hidden" name="domains" value="" />
                <input type="hidden" name="sitesearch" value="" />
                <input type="text" name="q" maxlength="255" value="" />
                <input type="submit" name="btnG" value="Google Search" />
            </form>
        </td>
    </tr>
</table>

<div id="PageContent">
    <div class="pageheader" style="padding: 6px 0px 0px 0px;">
        <!-- We'll enable this once we figure out how to access (and save) the logo resource -->
        <!--img src="/wiki/images/confluence_logo.gif" style="float: left; margin: 4px 4px 4px 10px;" border="0"-->
        <div style="margin: 0px 10px 0px 10px" class="smalltext">Apache Struts 2 Documentation</div>
        <div style="margin: 0px 10px 8px 10px"  class="pagetitle">Release Notes 2.0.2</div>

        <div class="greynavbar" align="right" style="padding: 2px 10px; margin: 0px;">
            <a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=28532">
                <img src="https://cwiki.apache.org/confluence/images/icons/notep_16.gif"
                     height="16" width="16" border="0" align="absmiddle" title="Edit Page"></a>
            <a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=28532">Edit Page</a>
            &nbsp;
            <a href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW">
                <img src="https://cwiki.apache.org/confluence/images/icons/browse_space.gif"
                     height="16" width="16" border="0" align="absmiddle" title="Browse Space"></a>
            <a href="https://cwiki.apache.org/confluence/pages/listpages.action?key=WW">Browse Space</a>
            &nbsp;
            <a href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=28532">
                <img src="https://cwiki.apache.org/confluence/images/icons/add_page_16.gif"
                     height="16" width="16" border="0" align="absmiddle" title="Add Page"></a>
            <a href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=WW&fromPageId=28532">Add Page</a>
            &nbsp;
            <a href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=28532">
                <img src="https://cwiki.apache.org/confluence/images/icons/add_blogentry_16.gif"
                     height="16" width="16" border="0" align="absmiddle" title="Add News"></a>
            <a href="https://cwiki.apache.org/confluence/pages/createblogpost.action?spaceKey=WW&fromPageId=28532">Add News</a>
        </div>
    </div>

    <div class="pagecontent">
        <div class="wiki-content">
            <div id="ConfluenceContent"><p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> These are the notes for the Struts 2.0.2 distribution.</p>

<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> For prior notes in this release series, see <a shape="rect" href="release-notes-201.html">Release Notes 2.0.1</a></p>

<ul><li>If you are a Maven user, you might want to get started using the <a shape="rect" href="struts-maven-archetypes.html">Maven Archetype</a>.</li><li>Another quick-start entry point is the <strong>blank</strong> application. Rename and deploy the WAR as a starting point for your own development.</li></ul>


<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Maven Dependency</b></div><div class="codeContent panelContent pdl">
<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">&lt;dependency&gt;
  &lt;groupId&gt;org.apache.struts&lt;/groupId&gt;
    &lt;artifactId&gt;struts2-core&lt;/artifactId&gt;
      &lt;version&gt;2.0.2&lt;/version&gt;
&lt;/dependency&gt;</pre>
</div></div>

<div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Snapshot Repository</b></div><div class="codeContent panelContent pdl">
<pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">&lt;repositories&gt;
  &lt;repository&gt;
    &lt;id&gt;apache.snapshots&lt;/id&gt;
    &lt;name&gt;ASF Maven 2 Snapshot&lt;/name&gt;
    &lt;url&gt;http://people.apache.org/repo/m2-snapshot-repository&lt;/url&gt;
  &lt;/repository&gt;
&lt;/repositories&gt;</pre>
</div></div>

<h2 id="ReleaseNotes2.0.2-Backwardcompatibilityissueswithpriordevelopmentrelease">Backward compatibility issues with prior development release </h2>

<ul><li>Quickstart is removed in favor of the Maven Jetty plugin (WW-1524).</li><li>As of Struts 2.0.2, Spring is a plugin (WW-1499). If an application specifies the Spring object factory in <code>struts.properties</code>, also include the <code>struts2-spring-plugin.jar</code> on the application's classpath. The plugin uses Spring 2.0.2 by default but can be rebuild to use another recent version.
	<ul><li>Ideally, move the object factory setting to the XML configuration, using Constant Configuration].</li></ul>
	</li><li>The Ajax theme is updated to Dojo 0.4, and some tag attributes have changed. See <a shape="rect" href="ajax-tags.html">Ajax Tags</a> for details.</li></ul>


<h2 id="ReleaseNotes2.0.2-NewFeaturesandPlugins">New Features and Plugins</h2>

<ul><li>Plugins are now documented in the <a shape="rect" class="createlink" href="https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=S2PLUGINS&amp;title=Angosso">Apache Struts 2 Plugin Registry</a>.</li><li><a shape="rect" href="annotations.html">Annotations</a>: @Result annotation now supports parameters (WW-1575).</li><li><a shape="rect" href="ajax-tags.html">Ajax Tags</a>: The Autocompleter AJAX tag wraps Dojo's ComboBox and supports remote, static, and JSON content.</li><li><a shape="rect" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=33274">Spring Plugin</a>: Integrate Spring with your application using a plugin (WW-1499). Or, if you prefer, use the <a shape="rect" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=33365">Plexus Plugin</a> instead.</li><li><a shape="rect" href="file-upload-interceptor.html">File Uploading</a> Explore multiple file uploading through our new Showcase example (WW-1479).</li><li><a shape="rect" href="action.html">Action tag</a>: Eliminate unwanted exceptions with the new <code>flush</code> attribute (WW-1472).</li><li><a shape="rect" href="checkboxlist.html">Checkboxlist</a> tag: Use Maps with CheckboxList (WW-1471).</li><li><a shape="rect" href="roles-interceptor.html">Roles Interceptor</a>: Integrate JAAS with a new interceptor  - now on the default stack (WW-1469).</li><li><a shape="rect" href="textfield.html">Localized Links</a>: Use the new <code>key</code> attribute to streamline link markup (WW-1458).</li><li><a shape="rect" href="constant-configuration.html">Constant Configuration</a>: Override factory default settings from any XML configurtion document, including <code>web.xml</code>! (WW-1421).</li><li><a shape="rect" href="strutsxml-examples.html">Action Class Ref</a>: Configure a custom default Action for any package to use instead of ActionSupport (WW-1420).</li><li><a shape="rect" href="struts-maven-archetypes.html">Struts Maven Archetypes</a> The standard archetype includes sample code from the <a shape="rect" href="bootstrap.html">Bootstrap</a> tutorial {WW-1412).</li><li><a shape="rect" href="result-types.html">Direct Results</a>: Create a custom Result Type directly from an Action class  (WW-1393).</li></ul>


<h2 id="ReleaseNotes2.0.2-ExperimentalFeaturesandPlugins">Experimental Features and Plugins </h2>

<p><img class="emoticon emoticon-tick" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png" data-emoticon-name="tick" alt="(tick)"> Please help us test these brave new features. Feedback appreciated!</p>

<ul><li><a shape="rect" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=33473">Scope Plugin</a>: Initial version of scope plugin that mimics JBoss Seam-style of scoped bijection (presently in the Sandbox).</li><li><a shape="rect" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=33278">Codebehind Plugin</a>: Reduce mundane configuration by using "page controller" conventions (WW-1515).</li><li><a shape="rect" href="zero-configuration.html">Zero Configuration</a>: Optionally, eliminate or reduce XML configuration with convention and annotation (WW-1491).</li><li><a shape="rect" href="action-mapper-action-mapping.html">REST-ful URLs</a>: Use search-engine friendly URLs, like category/action/movie/Thrillers (WW-1754).</li></ul>



<h2 id="ReleaseNotes2.0.2-InternalChanges">Internal Changes</h2>

<ul><li><a shape="rect" href="plugins.html">Plugin</a> tag libraries: Plugins can now provide new tag libraries encompassing JSP, Freemarker, and Velocity tags (WW-1584).</li><li><a shape="rect" href="dependency-injection.html">Dependency Injection</a>: The framework now uses its own dependency injection container, based on <a shape="rect" class="external-link" href="http://code.google.com/p/google-guice/" rel="nofollow">Google Guice</a>. Applications are free to use Spring, Plexus, or even a local copy of Guice for any dependency injection needs. Actions can still be instantiated via the Spring configuration, when desired (WW-1499), but Spring is entirely optional now.</li><li><a shape="rect" href="precise-error-reporting.html">Precise Error Reporting</a>: All configuration elements, including properties that come from Java properties files, include location and line information for easier debugging (WW-1510).</li><li><a shape="rect" href="ajax-tags.html">Ajax Tags</a>: The tags comprising the Ajax theme have been revamped, enhanced, and updated to Dojo 0.4 (WW-1484, WW-1485, WW-1554, WW-1529, WW-1555, WW-1579, ).</li><li><a shape="rect" href="action-mapper-action-mapping.html">Composite Action Mapper</a>: Multiple Action Mappers can now be chained into a composite</li><li><a shape="rect" href="bean-configuration.html">Bean Configuration</a> - Application objects can be injected into the framework or have static values set.</li></ul>


<h3 id="ReleaseNotes2.0.2-Detail">Detail </h3>

<ul><li><a shape="rect" class="external-link" href="https://issues.apache.org/struts/secure/ReleaseNote.jspa?projectId=10030&amp;styleName=Html&amp;version=21760">JIRA Release Notes 2.0.2 (to date)</a></li><li><a shape="rect" class="external-link" href="https://issues.apache.org/struts/secure/ReleaseNote.jspa?version=21741&amp;styleName=Html&amp;projectId=10030&amp;Create=Create">JIRA Release Notes 2.0.1</a></li><li><a shape="rect" class="external-link" href="https://issues.apache.org/struts/secure/ReleaseNote.jspa?version=21510&amp;styleName=Text&amp;projectId=10030&amp;Create=Create">JIRA Release Notes 2.0.0 </a></li></ul>


<h3 id="ReleaseNotes2.0.2-Pendingandopenissues">Pending and open issues</h3>

<ul><li><a shape="rect" class="external-link" href="https://issues.apache.org/struts/secure/IssueNavigator.jspa?mode=hide&amp;requestId=10700">Struts 2.0.2 TODO </a></li></ul>


<h3 id="ReleaseNotes2.0.2-Otherresources">Other resources </h3>

<ul><li><a shape="rect" class="external-link" href="http://www.mail-archive.com/commits%40struts.apache.org/" rel="nofollow">Commit Logs (Struts 1 and Struts 2)</a></li><li><a shape="rect" class="external-link" href="http://svn.apache.org/viewvc/struts/struts2/trunk/">Source Code Repository (includes change browsing)</a></li></ul></div>
        </div>

        
    </div>
</div>
<div class="footer">
    Generated by CXF SiteExporter
</div>
</body>
</html>
